home *** CD-ROM | disk | FTP | other *** search
/ Apple Developer Connection 1998 Fall: Game Toolkit / Disc.iso / SDKs / QuickTime Mac / AIncludes / QD3DDrawContext.a < prev    next >
Encoding:
Text File  |  1998-04-09  |  17.1 KB  |  565 lines  |  [TEXT/MPS ]

  1. ;
  2. ;    File:        QD3DDrawContext.a
  3. ;
  4. ;    Contains:    Draw context class types and routines                               
  5. ;
  6. ;    Version:    Technology:    Quickdraw 3D 1.5.4
  7. ;                Release:    QuickTime 3.0
  8. ;
  9. ;    Copyright:    © 1995-1998 by Apple Computer, Inc., all rights reserved.
  10. ;
  11. ;    Bugs?:        Please include the the file and version information (from above) with
  12. ;                the problem description.  Developers belonging to one of the Apple
  13. ;                developer programs can submit bug reports to:
  14. ;
  15. ;                    devsupport@apple.com
  16. ;
  17. ;
  18.     IF &TYPE('__QD3DDRAWCONTEXT__') = 'UNDEFINED' THEN
  19. __QD3DDRAWCONTEXT__ SET 1
  20.  
  21.     IF &TYPE('__QD3D__') = 'UNDEFINED' THEN
  22.     include 'QD3D.a'
  23.     ENDIF
  24.  
  25.     IF TARGET_OS_MAC THEN
  26.     IF &TYPE('__QUICKDRAW__') = 'UNDEFINED' THEN
  27.     include 'Quickdraw.a'
  28.     ENDIF
  29.     IF &TYPE('__FIXMATH__') = 'UNDEFINED' THEN
  30.     include 'FixMath.a'
  31.     ENDIF
  32.     IF &TYPE('__GXTYPES__') = 'UNDEFINED' THEN
  33.     include 'GXTypes.a'
  34.     ENDIF
  35.     ENDIF    ; TARGET_OS_MAC
  36. ; ******************************************************************************
  37. ; **                                                                             **
  38. ; **                            DrawContext Data Structures                         **
  39. ; **                                                                             **
  40. ; ****************************************************************************
  41.  
  42.  
  43. ; typedef long                            TQ3DrawContextClearImageMethod
  44. kQ3ClearMethodNone                EQU        0
  45. kQ3ClearMethodWithColor            EQU        1
  46.  
  47. TQ3DrawContextData        RECORD 0
  48. clearImageMethod         ds.l    1                ; offset: $0 (0)
  49. clearImageColor             ds        TQ3ColorARGB    ; offset: $4 (4)
  50. pane                     ds        TQ3Area            ; offset: $14 (20)
  51. paneState                 ds.l    1                ; offset: $24 (36)
  52. mask                     ds        TQ3Bitmap        ; offset: $28 (40)
  53. maskState                 ds.l    1                ; offset: $3C (60)
  54. doubleBufferState         ds.l    1                ; offset: $40 (64)
  55. sizeof                     EQU *                    ; size:   $44 (68)
  56.                         ENDR
  57. ; ******************************************************************************
  58. ; **                                                                             **
  59. ; **                                DrawContext Routines                         **
  60. ; **                                                                             **
  61. ; ****************************************************************************
  62.  
  63. ;
  64. ; extern TQ3ObjectType Q3DrawContext_GetType(TQ3DrawContextObject drawContext)
  65. ;
  66.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  67.         IMPORT_CFM_FUNCTION Q3DrawContext_GetType
  68.     ENDIF
  69.  
  70. ;
  71. ; extern TQ3Status Q3DrawContext_SetData(TQ3DrawContextObject context, const TQ3DrawContextData *contextData)
  72. ;
  73.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  74.         IMPORT_CFM_FUNCTION Q3DrawContext_SetData
  75.     ENDIF
  76.  
  77. ;
  78. ; extern TQ3Status Q3DrawContext_GetData(TQ3DrawContextObject context, TQ3DrawContextData *contextData)
  79. ;
  80.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  81.         IMPORT_CFM_FUNCTION Q3DrawContext_GetData
  82.     ENDIF
  83.  
  84. ;
  85. ; extern TQ3Status Q3DrawContext_SetClearImageColor(TQ3DrawContextObject context, const TQ3ColorARGB *color)
  86. ;
  87.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  88.         IMPORT_CFM_FUNCTION Q3DrawContext_SetClearImageColor
  89.     ENDIF
  90.  
  91. ;
  92. ; extern TQ3Status Q3DrawContext_GetClearImageColor(TQ3DrawContextObject context, TQ3ColorARGB *color)
  93. ;
  94.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  95.         IMPORT_CFM_FUNCTION Q3DrawContext_GetClearImageColor
  96.     ENDIF
  97.  
  98. ;
  99. ; extern TQ3Status Q3DrawContext_SetPane(TQ3DrawContextObject context, const TQ3Area *pane)
  100. ;
  101.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  102.         IMPORT_CFM_FUNCTION Q3DrawContext_SetPane
  103.     ENDIF
  104.  
  105. ;
  106. ; extern TQ3Status Q3DrawContext_GetPane(TQ3DrawContextObject context, TQ3Area *pane)
  107. ;
  108.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  109.         IMPORT_CFM_FUNCTION Q3DrawContext_GetPane
  110.     ENDIF
  111.  
  112. ;
  113. ; extern TQ3Status Q3DrawContext_SetPaneState(TQ3DrawContextObject context, TQ3Boolean state)
  114. ;
  115.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  116.         IMPORT_CFM_FUNCTION Q3DrawContext_SetPaneState
  117.     ENDIF
  118.  
  119. ;
  120. ; extern TQ3Status Q3DrawContext_GetPaneState(TQ3DrawContextObject context, TQ3Boolean *state)
  121. ;
  122.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  123.         IMPORT_CFM_FUNCTION Q3DrawContext_GetPaneState
  124.     ENDIF
  125.  
  126. ;
  127. ; extern TQ3Status Q3DrawContext_SetClearImageMethod(TQ3DrawContextObject context, TQ3DrawContextClearImageMethod method)
  128. ;
  129.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  130.         IMPORT_CFM_FUNCTION Q3DrawContext_SetClearImageMethod
  131.     ENDIF
  132.  
  133. ;
  134. ; extern TQ3Status Q3DrawContext_GetClearImageMethod(TQ3DrawContextObject context, TQ3DrawContextClearImageMethod *method)
  135. ;
  136.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  137.         IMPORT_CFM_FUNCTION Q3DrawContext_GetClearImageMethod
  138.     ENDIF
  139.  
  140. ;
  141. ; extern TQ3Status Q3DrawContext_SetMask(TQ3DrawContextObject context, const TQ3Bitmap *mask)
  142. ;
  143.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  144.         IMPORT_CFM_FUNCTION Q3DrawContext_SetMask
  145.     ENDIF
  146.  
  147. ;
  148. ; extern TQ3Status Q3DrawContext_GetMask(TQ3DrawContextObject context, TQ3Bitmap *mask)
  149. ;
  150.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  151.         IMPORT_CFM_FUNCTION Q3DrawContext_GetMask
  152.     ENDIF
  153.  
  154. ;
  155. ; extern TQ3Status Q3DrawContext_SetMaskState(TQ3DrawContextObject context, TQ3Boolean state)
  156. ;
  157.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  158.         IMPORT_CFM_FUNCTION Q3DrawContext_SetMaskState
  159.     ENDIF
  160.  
  161. ;
  162. ; extern TQ3Status Q3DrawContext_GetMaskState(TQ3DrawContextObject context, TQ3Boolean *state)
  163. ;
  164.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  165.         IMPORT_CFM_FUNCTION Q3DrawContext_GetMaskState
  166.     ENDIF
  167.  
  168. ;
  169. ; extern TQ3Status Q3DrawContext_SetDoubleBufferState(TQ3DrawContextObject context, TQ3Boolean state)
  170. ;
  171.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  172.         IMPORT_CFM_FUNCTION Q3DrawContext_SetDoubleBufferState
  173.     ENDIF
  174.  
  175. ;
  176. ; extern TQ3Status Q3DrawContext_GetDoubleBufferState(TQ3DrawContextObject context, TQ3Boolean *state)
  177. ;
  178.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  179.         IMPORT_CFM_FUNCTION Q3DrawContext_GetDoubleBufferState
  180.     ENDIF
  181.  
  182.  
  183. ; ******************************************************************************
  184. ; **                                                                             **
  185. ; **                            Pixmap Data Structure                             **
  186. ; **                                                                             **
  187. ; ****************************************************************************
  188.  
  189. TQ3PixmapDrawContextData RECORD 0
  190. drawContextData             ds        TQ3DrawContextData ; offset: $0 (0)
  191. pixmap                     ds        TQ3Pixmap        ; offset: $44 (68)
  192. sizeof                     EQU *                    ; size:   $64 (100)
  193.                         ENDR
  194. ; ******************************************************************************
  195. ; **                                                                             **
  196. ; **                        Pixmap DrawContext Routines                             **
  197. ; **                                                                             **
  198. ; ****************************************************************************
  199.  
  200. ;
  201. ; extern TQ3DrawContextObject Q3PixmapDrawContext_New(const TQ3PixmapDrawContextData *contextData)
  202. ;
  203.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  204.         IMPORT_CFM_FUNCTION Q3PixmapDrawContext_New
  205.     ENDIF
  206.  
  207. ;
  208. ; extern TQ3Status Q3PixmapDrawContext_SetPixmap(TQ3DrawContextObject drawContext, const TQ3Pixmap *pixmap)
  209. ;
  210.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  211.         IMPORT_CFM_FUNCTION Q3PixmapDrawContext_SetPixmap
  212.     ENDIF
  213.  
  214. ;
  215. ; extern TQ3Status Q3PixmapDrawContext_GetPixmap(TQ3DrawContextObject drawContext, TQ3Pixmap *pixmap)
  216. ;
  217.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  218.         IMPORT_CFM_FUNCTION Q3PixmapDrawContext_GetPixmap
  219.     ENDIF
  220.  
  221.  
  222.  
  223.     IF TARGET_OS_MAC THEN
  224. ; ******************************************************************************
  225. ; **                                                                             **
  226. ; **                        Macintosh DrawContext Data Structures                 **
  227. ; **                                                                             **
  228. ; ****************************************************************************
  229.  
  230.  
  231. ; typedef long                            TQ3MacDrawContext2DLibrary
  232. kQ3Mac2DLibraryNone                EQU        0
  233. kQ3Mac2DLibraryQuickDraw        EQU        1
  234. kQ3Mac2DLibraryQuickDrawGX        EQU        2
  235.  
  236. TQ3MacDrawContextData    RECORD 0
  237. drawContextData             ds        TQ3DrawContextData ; offset: $0 (0)
  238. window                     ds.l    1                ; offset: $44 (68)
  239. library                     ds.l    1                ; offset: $48 (72)
  240. viewPort                 ds.l    1                ; offset: $4C (76)
  241. grafPort                 ds.l    1                ; offset: $50 (80)
  242. sizeof                     EQU *                    ; size:   $54 (84)
  243.                         ENDR
  244. ; ******************************************************************************
  245. ; **                                                                             **
  246. ; **                        Macintosh DrawContext Routines                         **
  247. ; **                                                                             **
  248. ; ****************************************************************************
  249.  
  250. ;
  251. ; extern TQ3DrawContextObject Q3MacDrawContext_New(const TQ3MacDrawContextData *drawContextData)
  252. ;
  253.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  254.         IMPORT_CFM_FUNCTION Q3MacDrawContext_New
  255.     ENDIF
  256.  
  257. ;
  258. ; extern TQ3Status Q3MacDrawContext_SetWindow(TQ3DrawContextObject drawContext, CWindowPtr window)
  259. ;
  260.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  261.         IMPORT_CFM_FUNCTION Q3MacDrawContext_SetWindow
  262.     ENDIF
  263.  
  264. ;
  265. ; extern TQ3Status Q3MacDrawContext_GetWindow(TQ3DrawContextObject drawContext, CWindowPtr *window)
  266. ;
  267.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  268.         IMPORT_CFM_FUNCTION Q3MacDrawContext_GetWindow
  269.     ENDIF
  270.  
  271. ;
  272. ; extern TQ3Status Q3MacDrawContext_SetGXViewPort(TQ3DrawContextObject drawContext, gxViewPort viewPort)
  273. ;
  274.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  275.         IMPORT_CFM_FUNCTION Q3MacDrawContext_SetGXViewPort
  276.     ENDIF
  277.  
  278. ;
  279. ; extern TQ3Status Q3MacDrawContext_GetGXViewPort(TQ3DrawContextObject drawContext, gxViewPort *viewPort)
  280. ;
  281.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  282.         IMPORT_CFM_FUNCTION Q3MacDrawContext_GetGXViewPort
  283.     ENDIF
  284.  
  285. ;
  286. ; extern TQ3Status Q3MacDrawContext_SetGrafPort(TQ3DrawContextObject drawContext, CGrafPtr grafPort)
  287. ;
  288.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  289.         IMPORT_CFM_FUNCTION Q3MacDrawContext_SetGrafPort
  290.     ENDIF
  291.  
  292. ;
  293. ; extern TQ3Status Q3MacDrawContext_GetGrafPort(TQ3DrawContextObject drawContext, CGrafPtr *grafPort)
  294. ;
  295.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  296.         IMPORT_CFM_FUNCTION Q3MacDrawContext_GetGrafPort
  297.     ENDIF
  298.  
  299. ;
  300. ; extern TQ3Status Q3MacDrawContext_Set2DLibrary(TQ3DrawContextObject drawContext, TQ3MacDrawContext2DLibrary library)
  301. ;
  302.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  303.         IMPORT_CFM_FUNCTION Q3MacDrawContext_Set2DLibrary
  304.     ENDIF
  305.  
  306. ;
  307. ; extern TQ3Status Q3MacDrawContext_Get2DLibrary(TQ3DrawContextObject drawContext, TQ3MacDrawContext2DLibrary *library)
  308. ;
  309.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  310.         IMPORT_CFM_FUNCTION Q3MacDrawContext_Get2DLibrary
  311.     ENDIF
  312.  
  313.     ENDIF    ; TARGET_OS_MAC
  314.     IF TARGET_OS_UNIX THEN
  315. ; ******************************************************************************
  316. ; **                                                                             **
  317. ; **                        X/Windows DrawContext Data Structures                 **
  318. ; **                                                                             **
  319. ; ****************************************************************************
  320.  
  321.  
  322.  
  323. TQ3XColormapData        RECORD 0
  324. baseEntry                 ds.l    1                ; offset: $0 (0)
  325. maxRed                     ds.l    1                ; offset: $4 (4)
  326. maxGreen                 ds.l    1                ; offset: $8 (8)
  327. maxBlue                     ds.l    1                ; offset: $C (12)
  328. multRed                     ds.l    1                ; offset: $10 (16)
  329. multGreen                 ds.l    1                ; offset: $14 (20)
  330. multBlue                 ds.l    1                ; offset: $18 (24)
  331. sizeof                     EQU *                    ; size:   $1C (28)
  332.                         ENDR
  333. TQ3XDrawContextData        RECORD 0
  334. contextData                 ds        TQ3DrawContextData ; offset: $0 (0)
  335. display                     ds.l    1                ; offset: $44 (68)
  336. drawable                 ds.l    1                ; offset: $48 (72)
  337. visual                     ds.l    1                ; offset: $4C (76)
  338. cmap                     ds.l    1                ; offset: $50 (80)
  339. colorMapData             ds.l    1                ; offset: $54 (84)
  340. sizeof                     EQU *                    ; size:   $58 (88)
  341.                         ENDR
  342. ; ******************************************************************************
  343. ; **                                                                             **
  344. ; **                        X/Windows DrawContext Routines                         **
  345. ; **                                                                             **
  346. ; ****************************************************************************
  347.  
  348.     IF &TYPE('XDC_OLD') <> 'UNDEFINED' THEN
  349. ;
  350. ; extern TQ3DrawContextObject Q3XDrawContext_New(void )
  351. ;
  352.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  353.         IMPORT_CFM_FUNCTION Q3XDrawContext_New
  354.     ENDIF
  355.  
  356. ;
  357. ; extern void Q3XDrawContext_Set(TQ3DrawContextObject drawContext, unsigned long flag, void *data)
  358. ;
  359.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  360.         IMPORT_CFM_FUNCTION Q3XDrawContext_Set
  361.     ENDIF
  362.  
  363. ;
  364. ; extern void Q3XDrawContext_Get(TQ3DrawContextObject drawContext, unsigned long flag, void *data)
  365. ;
  366.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  367.         IMPORT_CFM_FUNCTION Q3XDrawContext_Get
  368.     ENDIF
  369.  
  370.     ENDIF
  371. ;
  372. ; extern TQ3XBufferObject Q3XBuffers_New(Display *dpy, unsigned long numBuffers, Window window)
  373. ;
  374.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  375.         IMPORT_CFM_FUNCTION Q3XBuffers_New
  376.     ENDIF
  377.  
  378. ;
  379. ; extern void Q3XBuffers_Swap(Display *dpy, TQ3XBufferObject buffers)
  380. ;
  381.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  382.         IMPORT_CFM_FUNCTION Q3XBuffers_Swap
  383.     ENDIF
  384.  
  385. ;
  386. ; extern XVisualInfo *Q3X_GetVisualInfo(Display *dpy, Screen *screen)
  387. ;
  388.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  389.         IMPORT_CFM_FUNCTION Q3X_GetVisualInfo
  390.     ENDIF
  391.  
  392.  
  393. ;
  394. ; extern TQ3DrawContextObject Q3XDrawContext_New(const TQ3XDrawContextData *xContextData)
  395. ;
  396.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  397.         IMPORT_CFM_FUNCTION Q3XDrawContext_New
  398.     ENDIF
  399.  
  400. ;
  401. ; extern TQ3Status Q3XDrawContext_SetDisplay(TQ3DrawContextObject drawContext, const Display *display)
  402. ;
  403.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  404.         IMPORT_CFM_FUNCTION Q3XDrawContext_SetDisplay
  405.     ENDIF
  406.  
  407. ;
  408. ; extern TQ3Status Q3XDrawContext_GetDisplay(TQ3DrawContextObject drawContext, Display **display)
  409. ;
  410.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  411.         IMPORT_CFM_FUNCTION Q3XDrawContext_GetDisplay
  412.     ENDIF
  413.  
  414. ;
  415. ; extern TQ3Status Q3XDrawContext_SetDrawable(TQ3DrawContextObject drawContext, Drawable drawable)
  416. ;
  417.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  418.         IMPORT_CFM_FUNCTION Q3XDrawContext_SetDrawable
  419.     ENDIF
  420.  
  421. ;
  422. ; extern TQ3Status Q3XDrawContext_GetDrawable(TQ3DrawContextObject drawContext, Drawable *drawable)
  423. ;
  424.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  425.         IMPORT_CFM_FUNCTION Q3XDrawContext_GetDrawable
  426.     ENDIF
  427.  
  428. ;
  429. ; extern TQ3Status Q3XDrawContext_SetVisual(TQ3DrawContextObject drawContext, const Visual *visual)
  430. ;
  431.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  432.         IMPORT_CFM_FUNCTION Q3XDrawContext_SetVisual
  433.     ENDIF
  434.  
  435. ;
  436. ; extern TQ3Status Q3XDrawContext_GetVisual(TQ3DrawContextObject drawContext, Visual **visual)
  437. ;
  438.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  439.         IMPORT_CFM_FUNCTION Q3XDrawContext_GetVisual
  440.     ENDIF
  441.  
  442. ;
  443. ; extern TQ3Status Q3XDrawContext_SetColormap(TQ3DrawContextObject drawContext, Colormap colormap)
  444. ;
  445.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  446.         IMPORT_CFM_FUNCTION Q3XDrawContext_SetColormap
  447.     ENDIF
  448.  
  449. ;
  450. ; extern TQ3Status Q3XDrawContext_GetColormap(TQ3DrawContextObject drawContext, Colormap *colormap)
  451. ;
  452.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  453.         IMPORT_CFM_FUNCTION Q3XDrawContext_GetColormap
  454.     ENDIF
  455.  
  456. ;
  457. ; extern TQ3Status Q3XDrawContext_SetColormapData(TQ3DrawContextObject drawContext, const TQ3XColormapData *colormapData)
  458. ;
  459.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  460.         IMPORT_CFM_FUNCTION Q3XDrawContext_SetColormapData
  461.     ENDIF
  462.  
  463. ;
  464. ; extern TQ3Status Q3XDrawContext_GetColormapData(TQ3DrawContextObject drawContext, TQ3XColormapData *colormapData)
  465. ;
  466.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  467.         IMPORT_CFM_FUNCTION Q3XDrawContext_GetColormapData
  468.     ENDIF
  469.  
  470.     ENDIF    ; TARGET_OS_UNIX
  471.     IF TARGET_OS_WIN32 THEN
  472. ; ******************************************************************************
  473. ; **                                                                             **
  474. ; **                         Win32 DrawContext Data Structures                      **
  475. ; **                                                                             **
  476. ; ****************************************************************************
  477.  
  478. TQ3Win32DCDrawContextData RECORD 0
  479. drawContextData             ds        TQ3DrawContextData ; offset: $0 (0)
  480. hdc                         ds.l    1                ; offset: $44 (68)
  481. sizeof                     EQU *                    ; size:   $48 (72)
  482.                         ENDR
  483.     IF ¬ (&TYPE('QD3D_NO_DIRECTDRAW') <> 'UNDEFINED') THEN
  484.  
  485. ; typedef long                            TQ3DirectDrawObjectSelector
  486. kQ3DirectDrawObject                EQU        1
  487. kQ3DirectDrawObject2            EQU        2
  488.  
  489. ; typedef long                            TQ3DirectDrawSurfaceSelector
  490. kQ3DirectDrawSurface            EQU        1
  491. kQ3DirectDrawSurface2            EQU        2
  492. TQ3DDSurfaceDescriptor    RECORD 0
  493. objectSelector             ds.l    1                ; offset: $0 (0)
  494. filler                     ds.l    4                ; offset: $4 (4)
  495. sizeof                     EQU *                    ; size:   $14 (20)
  496.                         ENDR
  497. TQ3DDSurfaceDrawContextData RECORD 0
  498. drawContextData             ds        TQ3DrawContextData ; offset: $0 (0)
  499. ddSurfaceDescriptor         ds        TQ3DDSurfaceDescriptor ; offset: $44 (68)
  500. sizeof                     EQU *                    ; size:   $58 (88)
  501.                         ENDR
  502.     ENDIF
  503. ; ******************************************************************************
  504. ; **                                                                             **
  505. ; **                            Win32DC DrawContext Routines                     **
  506. ; **                                                                             **
  507. ; ****************************************************************************
  508.  
  509. ;
  510. ; extern TQ3DrawContextObject Q3Win32DCDrawContext_New(const TQ3Win32DCDrawContextData *drawContextData)
  511. ;
  512.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  513.         IMPORT_CFM_FUNCTION Q3Win32DCDrawContext_New
  514.     ENDIF
  515.  
  516. ;
  517. ; extern TQ3Status Q3Win32DCDrawContext_SetDC(TQ3DrawContextObject drawContext, HDC newHDC)
  518. ;
  519.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  520.         IMPORT_CFM_FUNCTION Q3Win32DCDrawContext_SetDC
  521.     ENDIF
  522.  
  523. ;
  524. ; extern TQ3Status Q3Win32DCDrawContext_GetDC(TQ3DrawContextObject drawContext, HDC *curHDC)
  525. ;
  526.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  527.         IMPORT_CFM_FUNCTION Q3Win32DCDrawContext_GetDC
  528.     ENDIF
  529.  
  530. ; ******************************************************************************
  531. ; **                                                                             **
  532. ; **                            DDSurface DrawContext Routines                     **
  533. ; **                                                                             **
  534. ; ****************************************************************************
  535.  
  536.     IF ¬ (&TYPE('QD3D_NO_DIRECTDRAW') <> 'UNDEFINED') THEN
  537. ;
  538. ; extern TQ3DrawContextObject Q3DDSurfaceDrawContext_New(const TQ3DDSurfaceDrawContextData *drawContextData)
  539. ;
  540.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  541.         IMPORT_CFM_FUNCTION Q3DDSurfaceDrawContext_New
  542.     ENDIF
  543.  
  544. ;
  545. ; extern TQ3Status Q3DDSurfaceDrawContext_SetDirectDrawSurface(TQ3DrawContextObject drawContext, const TQ3DDSurfaceDescriptor *ddSurfaceDescriptor)
  546. ;
  547.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  548.         IMPORT_CFM_FUNCTION Q3DDSurfaceDrawContext_SetDirectDrawSurface
  549.     ENDIF
  550.  
  551. ;
  552. ; extern TQ3Status Q3DDSurfaceDrawContext_GetDirectDrawSurface(TQ3DrawContextObject drawContext, TQ3DDSurfaceDescriptor *ddSurfaceDescriptor)
  553. ;
  554.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  555.         IMPORT_CFM_FUNCTION Q3DDSurfaceDrawContext_GetDirectDrawSurface
  556.     ENDIF
  557.  
  558.     ENDIF
  559.     ENDIF    ; TARGET_OS_WIN32
  560.  
  561.  
  562.  
  563.     ENDIF ; __QD3DDRAWCONTEXT__ 
  564.  
  565.